"192.168.0.1:sipop" Previous topic Chapter index Next topic

PERSONA_BI

 

 

Descriptions

There is no desription for trigger PERSONA_BI

 

Definition


CREATE TRIGGER PERSONA_BI FOR PERSONA ACTIVE
BEFORE INSERT POSITION 0
AS
  /* Trigger body */
  declare variable hoy date;
declare variable cola integer;
declare variable Vapellido2 char(20);
BEGIN
  IF (NEW.ID_persona IS NULL) THEN
  BEGIN
  hoy = 'TODAY';
  cola= GEN_ID(gen_persona,1);
  if (new.apellido2_persona is null) then

  Vapellido2 = new.apellido1_persona;
  else
  Vapellido2 = new.apellido2_persona;



  if (cola <10 ) then
  begin
      NEW.id_persona = upper(substr(new.apellido1_persona,1,1)) ||
      upper(substr(Vapellido2,1,1)) ||
      substr((EXTRACT(YEAR FROM hoy)),3,4) ||  '000' || cola;
  end
  else
      if (cola<100) then
      begin
           NEW.id_persona = upper(substr(new.apellido1_persona,1,1)) ||
           upper(substr(Vapellido2,1,1)) ||
           substr((EXTRACT(YEAR FROM hoy)),3,4) ||   '00' || cola;
      end
      else
          if (cola<1000) then
          begin
            NEW.id_persona = upper(substr(new.apellido1_persona,1,1)) ||
            upper(substr(Vapellido2,1,1)) ||
            substr((EXTRACT(YEAR FROM hoy)),3,4) ||   '0' || cola;
          end
          else
              begin
                NEW.id_persona = upper(substr(new.apellido1_persona,1,1)) ||
                upper(substr(Vapellido2,1,1)) ||
                substr((EXTRACT(YEAR FROM hoy)),3,4) || cola;
              end




  IF ( cola >9999) THEN
     EXECUTE STATEMENT 'SET GENERATOR GEN_persona TO 0';
  END
  if (new.datetime_insert is null) then
  begin

   new.datetime_insert = 'now';
  end


END

    This file was generated with EMS InterBase/FireBird Manager (www.ibmanager.com) at 09/06/2005 05:52 p.m. Previous topic Chapter index Next topic